home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 090 / cmln0786.arc / PILOT4.LTG < prev    next >
Text File  |  1986-04-28  |  1KB  |  42 lines

  1.  
  2.                            Listing #4
  3.                         The Parse Routine
  4.  
  5.  
  6. parse(line)
  7. char *line;
  8. {
  9.     /** Parse line, calling the appropriate routine depending on
  10.         the statement type. **/
  11.  
  12.     register int i=0;
  13.     char *lineptr, buffer[SLEN];
  14.  
  15.     while (whitespace(line[i]))     i++;       /* skip leading blanks */
  16.  
  17.     lineptr = (char *) line + i+1;           /* ...skip first char  */
  18.  
  19.     error = NOERROR;               /* each line is new!   */
  20.  
  21.     switch (toupper(line[i])) {
  22.       case 'A' : accept(lineptr);            break;
  23.       case 'C' : compute(lineptr);            break;
  24.       case 'E' : endit(lineptr);            break;
  25.       case 'J' : jump(lineptr);            break;
  26.       case 'M' : match(lineptr);            break;
  27.       case 'R' : /** remark **/             break;
  28.       case 'T' : type(lineptr);            break;
  29.       case 'U' : use(lineptr);            break;
  30.  
  31.       case '*' : label(line, current_line);    break;
  32.       case ':' : sprintf(buffer, "%c%s", boolean_cont==boolean? 'Y' : 'N', 
  33.                  line);
  34.              type(buffer);                  break;    
  35.       default  : 
  36.              raise_error(UNKNOWN_STATEMENT, NONFATAL, line);
  37.     }
  38. }
  39.  
  40.  
  41.  
  42.